import router from '@/router/index.js'
import { useUserStore } from '@/stores'
import { message } from '@/components/ZyMessage/index.js'

// 网站名称
const name = import.meta.env.VITE_APP_NAME

// 全局前置守卫
router.beforeEach(async (to, from) => {
  // 1.获取token
  const userStore = useUserStore()
  const token = userStore.user.token

  // 2.未登录禁止访问用户信息页
  if (!token && to.path === '/account') {
    message('请先登录!', 'error')
    return from.path ? from.path : '/'
  }

  // 3.防止重复登录
  if (token && to.path === '/login') {
    message('请勿重复登录!', 'error')
    // 使用HTML5 模式无法获取from.path,使用Hash 模式则可以实现回退功能
    return from.path ? from.path : '/'
  }

  // 设置页面标题
  document.title = to.meta.title ? to.meta.title + ' - ' + name : name
})

export default router
